Specifying Dynamism in Software Architectures
نویسندگان
چکیده
A critical issue for complex component-based systems design is the modeling and analysis of architecture. One of the complicating factors in developing architectural models is accounting for systems whose architecture changes dynamically (during run time). This is because dynamic changes to architectural structure may interact in subtle ways with on-going computations of the system. In this paper we argue that it is possible and valuable to provide a modeling approach that accounts for the interactions between architectural recon guration and non-recon guration system functionality, while maintaining a separation of concerns between these two aspects of a system. The key to the approach is to use a uniform notation and semantic base for both recon guration and steady-state behavior, while at the same time providing syntactic separation between the two. As we will show, this permits us to view the architecture in terms of a set possible architectural snapshots, each with its own steady-state behavior. Transitions between these snapshots are accounted for by special recon guration-triggering events.
منابع مشابه
Specifying Real-time Behaviour in Distributed Software Architectures
Over the last few years, there has been considerable research in the area of Software Architecture. However, relatively little attention has been paid to the specification of real-time properties of such architectures. This paper presents the Xelha architectural description language which is intended to overcome this deficiency. The language offers both a task model and a resource model. The fo...
متن کاملSpecifying Dynamic Software Architectures for Distributed Systems
Open and dynamic characteristics of distributed software systems make user requirements and hardware resources change more rapidly, which make their evolution or reconfiguration inevitable, especially during their execution. A critical issue for those distributed systems is the specifying and analysis dynamic reconfiguration process of their architectures. In this paper, we proposed a method of...
متن کاملIssues in the Runtime Modification of Software Architectures
Existing software architecture research has focused on static architectures, where the system architecture is not expected to change during system execution. We argue that the architectures of many systems, especially long running or mission critical systems, evolve during execution, and thus cannot be accurately modeled and analyzed using static architectures. To overcome these problems, we pr...
متن کاملTowards a Design-by-contract based Approach for Realizable Connector-centric Software Architectures
Despite being a widely-used language for specifying software systems, UML remains less than ideal for software architectures. Architecture description languages (ADLs) were developed to provide more comprehensive support. However, so far the application of ADLs in practice has been impeded by at least one of the following problems: (i) advanced formal notations, (ii) lack of support for complex...
متن کاملModelling and Verifying Smell-Free Architectures with the Archery Language
Architectural (bad) smells are design decisions found in software architectures that degrade the ability of systems to evolve. This paper presents an approach to verify that a software architecture is smellfree using the Archery architectural description language. The language provides a core for modelling software architectures and an extension for specifying constraints. The approach consists...
متن کاملOrganizing Definitions and Formalisms for Dynamic Software Architectures
Dynamic architectural change is defined as the addition and removal of components and connectors. Dynamic software architectures are those architectures that modify their architecture and enact the modifications during the system’s execution. This behavior is most commonly known as run-time evolution or dynamism. As dynamic software architecture use becomes more widespread, it is important to g...
متن کامل